#include <Arduino.h>
#include <stdio.h>

// -------------------------------config-begin--------------------------------

String product_id  = "xxx"; // 产品ID AISH-102；可以更换为你自己的产品ID
String user_id  = "xxx";//  xxx更换为你自己的用户ID
String mqtt_username  = "xxx";
String mqtt_passwd  = "xxx";
String mqtt_mqttHostUrl  = "xxx";
uint16_t mqtt_port = 1883;

//1. 替换为自己常用的wifi名和密码，支持多个 
const char *wifiData[][2] = {
    {"Gunter", "{qwerty123}"},
    {"Fairy", "{qwerty123}"},
    // 继续添加需要的 Wi-Fi 名称和密码
};

//2.软件版本号：三位数字，第一位是大版本、第二位是小版本，第三位是微调
String version  = "1.0.0.2";

// -------------------------------config-end--------------------------------


//设备的编号，系统自行获取
String mqtt_mqttClientId  = "";

// --------------------------------引脚定义--------------------------------
#define IIC_SCL 13
#define IIC_SDA 12

#define alarm 5

// 4个继电器引脚
#define rc1 18
#define rc2 19
#define rc3 3
#define rc4 15

// TEMT6000模块 光照强度功能引脚定义;
#define TEMT6000_PIN 4

// 红外-空调AC引脚， Recommended: 6.
const uint16_t kIrLed = 6;

// --------------------------------自动获取--------------------------------
// 使用字符串对象存储动态生成的主题
String MQTT_SUB_MONITOR_GET;
String MQTT_SUB_FUNCTION_GET;
String MQTT_SUB_OTA_GET;

// 动态生成的订阅主题数组
std::vector<String> subTopicsArr;

//MAC地址
String MAC  = "";

// MQTT主题定义
String MQTT_PUB_INFO_POST;
String MQTT_PUB_MONITOR_GET_REPLY;
String MQTT_PUB_MONITOR_POST;
String MQTT_PUB_FUNCTION_GET_REPLY;
String MQTT_PUB_OTA_POST;
String MQTT_PUB_OTA_GET_REPLY;
String MQTT_PUB_PROPERTY_POST;
String MQTT_PUB_EVENT_POST;


//上一次有效的温度、湿度空气质量
uint8_t old_sht31_temp =  30;
uint8_t old_sht31_humi =  50;
uint8_t old_lux =  200;

//创建combinecontroll任务所需传入参数结构体
struct CombineControlParams {
    JsonArray data;
};

//默认的字符串定义
String reporttime = "2000-01-01 14:57:45";



// 临时定义使用 定义变量 1开 0关闭

unsigned char lamp_livingroom = 0 ; // 客厅灯
unsigned char lamp_kitchen = 0 ; // 厨房灯
unsigned char lamp_bedroom = 0 ; // 卧室灯
unsigned char lamp_bathroom = 0 ;    // 洗手间灯
unsigned char lamp_diningroom = 0 ;  // 餐厅灯
unsigned char lamp_studyroom = 0 ;   // 书房灯
unsigned char fan_livingroom = 0 ;   // 客厅风扇
unsigned char ac_livingroom = 0 ;    // 客厅空调
unsigned char alarm_livingroom = 0 ;    // 客厅告警
unsigned char tablelamp_bedroom = 0 ;    // 卧室台灯
unsigned char closetlamp_bedroom = 0 ;  // 卧室衣柜灯
unsigned char domelamp_livingroom = 0 ;  // 客厅顶灯
unsigned char porchlamp_livingroom = 0 ; // 客厅玄关灯
unsigned char tablelamp_livingroom = 0 ; // 客厅台灯
unsigned char tv_livingroom = 0 ;        // 客厅电视
unsigned char curtain_livingroom = 0 ;   // 客厅窗帘





unsigned char person = 0 ;    // 人员检测
unsigned char flame = 1 ;     // 火焰检测
unsigned int tvoc = 12 ;       // 总挥发性有机物（单位：ppb）
unsigned int co2 = 21 ;        // 二氧化碳（单位：ppm）
unsigned int formaldehyde = 10 ;   // 甲醛（单位：mg/m³）